package com.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.validation.CreateGroup;
import com.validation.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * <p>
 *   活动信息传输对象
 * </p>
 * @author 34448
 */
@Data
public class ActivityDTO {

    /**
     * 活动ID
     */
    @NotNull(groups = UpdateGroup.class, message = "活动ID不能为空")
    @ApiModelProperty(value = "活动ID")
    private Integer activityId;

    /**
     * 活动名称
     */
    @NotNull(message = "活动名称不能为空")
    @Size(max = 255, message = "活动名称长度不能超过255个字符")
    @ApiModelProperty(value = "活动名称")
    private String activityName;

    /**
     * 活动日期
     */
    @NotNull(message = "活动日期不能为空")
    @JsonFormat(pattern="yyyy-MM-dd", timezone="GMT+8")
    @ApiModelProperty(value = "活动日期")
    private Date activityDate;

    /**
     * 活动地点
     */
    @Size(max = 255, message = "活动地点长度不能超过255个字符")
    @ApiModelProperty(value = "活动地点")
    private String location;

    /**
     * 活动描述
     */
    @ApiModelProperty(value = "活动描述")
    private String description;

    /**
     * 创建人
     */
    @NotNull(groups = CreateGroup.class, message = "创建人不能为空")
    @ApiModelProperty(value = "创建人")
    private Integer createBy;

    /**
     * 修改人
     */
    @NotNull(groups = UpdateGroup.class, message = "修改人不能为空")
    @ApiModelProperty(value = "修改人")
    private Integer updateBy;
}